# Version Numbering
Installed builds are versioned YY.MAJOR.MINOR.BUILD, for example 26.4.1.0. This page explains what each segment means so you can read a customer's installed version and know what kind of update it represents.
# The scheme
| Segment | Meaning |
|---|---|
| YY | Year the build was made. For readability only — it does not affect update compatibility. |
| MAJOR | The generation. Increases whenever a release adds a new feature or changes behavior. Never resets or repeats. |
| MINOR | A corrective release on that generation. Contains only fixes and documentation — never new features or behavior changes. |
| BUILD | Rebuild counter for the exact same YY.MAJOR.MINOR. Normally 0. |
Reading a version: 26.4.1.0 is generation 4, first hotfix, built in 26.
# What this means for updates
- A MINOR upgrade is always safe. It contains only fixes and documentation — no new features and no behavior changes to plan for.
- A new feature always requires a MAJOR upgrade. Features are never added to an older generation — the customer must move to the latest generation to get them.
- Hotfixes only apply to the generation you're on. A customer needing a fix moves to the latest MINOR on their current MAJOR, picking up every hotfix shipped on that generation since their install — but none of the new development from later generations.
# Legacy (pre-scheme) versions
Versions from before this scheme was introduced used a date-based format (e.g. 2026.06.02.1155). These are represented in the new scheme using a reserved legacy bucket, 26.0.x.x:
| Segment | Meaning in the legacy bucket |
|---|---|
| MAJOR = 0 | Marks a legacy, pre-scheme build. |
| MINOR | Identifies the specific customer/baseline — a different number per customer. |
| BUILD | That customer's hotfix counter on their legacy line. |
For example, a hotfix for a customer previously on 2026.06.02.1155 becomes 26.0.1.0; the next legacy customer needing a hotfix gets 26.0.2.x, and so on. The legacy bucket is a temporary holding pen — upgrading a legacy customer to the current scheme (the latest MAJOR) is preferred over issuing further legacy hotfixes.
# Checking the installed version
Read the file version from any installed Epona.*.dll or Epona.ProvisioningService.exe:
(Get-Item 'C:\Path\To\Install\Epona.ProvisioningService.exe').VersionInfo.FileVersion
# Related
- Installation — installing and updating the service